package loja.dao.venda;

import java.math.BigDecimal;
import java.util.Calendar;
import java.util.List;

import loja.model.pessoa.cliente.Cliente;
import loja.model.venda.ItemVenda;
import loja.model.venda.Venda;
import loja.model.venda.pedido.PedidoVenda;

public interface VendaDAO {

	Long novoPedido();

	List<PedidoVenda> listarPedidosAbertos();

	PedidoVenda cosultarPedidoPorId(Long id);

	void alterarPedidoVenda(PedidoVenda pedidoVenda);

	Long incluirVenda(Venda venda);

	List<Venda> listarVendasAVista();

	List<Venda> listarVendasAReceber();

	List<Venda> listarVendas();

	PedidoVenda cosultarPedidoAbertoPorId(Long id);

	Venda consultarVendaPorId(Long id);

	ItemVenda consultarItemVenda(Long id);

	void removerPedidoVenda(PedidoVenda pedidoVenda);

	List<Venda> listarVendasPorPeriodo(Calendar dataInicial, Calendar dataFinal);

	void alteraQuantidadeItemVenda(Long id, Integer quantidade);

	void alterarValorVenda(Long idVenda, BigDecimal valor);

	List<Venda> listarVendasAReceberDeCliente(Cliente cliente);

}
